from pathlib import Path

import httpx
from agno.agent import Agent
from agno.models.openai import OpenAILike
from agno.tools.csv_toolkit import CsvTools

from configs.basic_config import ALI_GENERATION_MODEL, AGENT_URL, ALI_DASHSCOPE_API_KEY

url = "https://agno-public.s3.amazonaws.com/demo_data/IMDB-Movie-Data.csv"
response = httpx.get(url)

imdb_csv = Path(__file__).parent.joinpath("imdb.csv")
imdb_csv.parent.mkdir(parents=True, exist_ok=True)
imdb_csv.write_bytes(response.content)

agent = Agent(
    model=OpenAILike(id=ALI_GENERATION_MODEL, name=ALI_GENERATION_MODEL, api_key=ALI_DASHSCOPE_API_KEY,
                     base_url=AGENT_URL),
    tools=[CsvTools(csvs=[imdb_csv])],
    markdown=True,
    instructions=[
        "首先总是获取文件列表",
        "然后检查文件中的列",
        "然后运行查询来回答问题",
    ],
)
agent.cli_app(stream=False)
# 《菲利普斯船长》由哪位著名演员主演？他在片中饰演的角色名字是什么？

# 《菲利普斯船长》（*Captain Phillips*）由著名演员 **汤姆·汉克斯**（Tom        ┃
# ┃ Hanks）主演。他在片中饰演的角色名字是 **理查德·菲利普斯**（Richard           ┃
# ┃ Phillips）。

# 《穿条纹睡衣的男孩》的故事背景设定在哪个历史时期？主角布鲁诺的父亲担任什么职务？
# 无


# 在所列电影中，哪一部属于科幻惊悚片？它的主角面临怎样的道德抉择？
# Among the listed films, which one is a sci-fi thriller, and what moral dilemma does its protagonist face?
# yes